Parameterized Model Checking of Fine Grained Concurrency

نویسندگان

  • Divjyot Sethi
  • Muralidhar Talupur
  • Daniel Schwartz-Narbonne
  • Sharad Malik
چکیده

Concurrent data structures are provided in libraries such as Intel Thread Building Blocks and Java.util.concurrent to enable efficient implementation of multi-threaded programs. Their efficiency is achieved by using fine grained synchronization which creates less constrained interaction between the threads. This leads to a large number of possible interleavings and makes concurrent data structures hard to verify. In this paper, we describe our key insights from Murphi based parameterized model checking of these data structures. In particular, we describe the first model checking based framework to handle an unbounded number of threads for these data structures. This framework uses the CMP (CoMPositional) method which has been used in verifying cache coherence protocols. The CMP method requires the user to supply lemmas for abstraction refinement. A further contribution of our work is to show how a significant subset of these lemmas can be generated automatically.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Modular Safety Checking for Fine-Grained Concurrency

Concurrent programs are difficult to verify because the proof must consider the interactions between the threads. Fine-grained concurrency and heap allocated data structures exacerbate this problem, because threads interfere more often and in richer ways. In this paper we provide a thread-modular safety checker for a class of pointermanipulating fine-grained concurrent algorithms. Our checker u...

متن کامل

Safe Fine-Grained Locking for Aggregate Objects

Programmers have difficulty writing correct multithreaded code, not to mention code that scales well. One way to approach this problem is by offering a transaction construct, and leaving it to the compiler and run-time system to implement efficient synchronization. However, automatically generating efficient synchronization code is an open research problem. In this paper, rather than attempting...

متن کامل

The Effect of Geopolymerization on the Unconfined Compressive Strength of Stabilized Fine-grained Soils

This study focuses on evaluating the unconfined compressive strength (UCS) of improved fine-grained soils. A large database of unconfined compressive strength of clayey soil specimens stabilized with fly ash and blast furnace slag based geopolymer were collected and analyzed. Subsequently, using adaptive neuro fuzzy inference system (ANFIS), a model has been developed to assess the UCS of stabi...

متن کامل

Parallelizing Mudflap Using Thread-Level Speculation on a Chip Multiprocessor

Pointer-use checking is an important technology for detecting pointer and array access errors in unsafe languages like C and C++. However, the large runtime overheads associated with these techniques restrict their usefulness to software development environments. On the other hand, if the execution time overhead from using these techniques can be reduced, not only can they be applied more aggre...

متن کامل

Proving Opacity via Linearizability: A Sound and Complete Method

Transactional memory (TM) is a mechanism that manages thread synchronisation on behalf of a programmer so that blocks of code execute with the illusion of atomicity. The main safety criterion for transactional memory is opacity, which defines conditions for serialising concurrent transactions. Verifying opacity is complex because one must not only consider the orderings between fine-grained (an...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012